﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace PRE
{
    using BLL;
    using DAL.Entities;
    public partial class frmKhachhang : Form
    {
        KhachhangBLL _khachhangBLL = new KhachhangBLL();
        public frmKhachhang()
        {
            InitializeComponent();
        }

        private void frmKhachhang_Load(object sender, EventArgs e)
        {
            var bll = new BLL.KhachhangBLL();
            dsKhachhang.DataSource = bll.Select();
            label8_Click(sender, e);
        }

        private void dsKhachhang_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            txtMaKH.Text = dsKhachhang[0, e.RowIndex].Value + "";
            var tmp = (Khachhang)_khachhangBLL.Select(txtMaKH.Text);
            if (tmp != null)
            {
                txtTenKH.Text = tmp.HOTEN_KH;           
                txtDiachi.Text = tmp.DIA_CHI;
                txtSdt.Text = tmp.SO_DT;
                txtEmail.Text = tmp.EMAIL;
            } 
        }

        private void label8_Click(object sender, EventArgs e)
        {
            int sql = dsKhachhang.Rows.Count - 1;
            label8.Text = "Tổng số khách hàng là:" + sql.ToString() + " khách hàng";
        }

        private void cmdThem_Click(object sender, EventArgs e)
        {
            if (txtMaKH.Text + "" != "")
            {
                var o = new Khachhang() { MA_KH = txtMaKH.Text, HOTEN_KH = txtTenKH.Text, DIA_CHI = txtDiachi.Text, SO_DT = txtSdt.Text, EMAIL = txtEmail.Text };
                if (_khachhangBLL.Insert(o) > 0) MessageBox.Show("Khách hàng " + txtTenKH.Text + " \n đã được thêm thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                else MessageBox.Show("Khách hàng " + txtTenKH.Text + " không thêm đươc! \n Xin vui lòng kiểm tra lại!", " Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                MessageBox.Show("Bạn phải điền đầy đủ thông tin!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            dsKhachhang.DataSource = _khachhangBLL.Select();
            label8_Click(sender, e);
        }

        private void cmdXoa_Click(object sender, EventArgs e)
        {
            if (txtMaKH.Text + "" != "")
            {
                if (_khachhangBLL.Delete(txtMaKH.Text) > 0) MessageBox.Show("Khách hàng " + txtTenKH.Text + " \n đã được xóa  thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                else MessageBox.Show("Khách hàng " + txtTenKH.Text + " không được xóa!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else MessageBox.Show("Bạn chưa chọn đối tượng để xóa!!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            dsKhachhang.DataSource = _khachhangBLL.Select();
            label8_Click(sender, e);
        }

        private void cmdSua_Click(object sender, EventArgs e)
        {
            if (txtMaKH.Text + "" != "")
            {
                var o = new Khachhang() { MA_KH = txtMaKH.Text, HOTEN_KH = txtTenKH.Text, DIA_CHI = txtDiachi.Text, SO_DT = txtSdt.Text, EMAIL = txtEmail.Text };
                if (_khachhangBLL.Update(o) > 0) MessageBox.Show("Khách hàng " + txtTenKH.Text + " \n đã được cập nhật thành công!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                else MessageBox.Show("Khách hàng " + txtTenKH.Text + " không đươc cập nhật! \n Xin vui lòng kiểm tra lại!", " Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                MessageBox.Show("Bạn phải điền đầy đủ thông tin!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            dsKhachhang.DataSource = _khachhangBLL.Select();
            label8_Click(sender, e);
        }

        private void cmdLammoi_Click(object sender, EventArgs e)
        {
            txtMaKH.Text = "";
            txtMaKH.Focus();
            txtTenKH.Text = "";
            txtDiachi.Text = "";
            txtSdt.Text = "";
            txtEmail.Text="";
        }
    }
}
